package com.medical.blood.mapper;

import com.medical.blood.dto.SampleAnalysisDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

@Mapper
public interface SampleAnalysisMapper {

    // 计算样本平均送检时长（采血到送检的分钟数）
    BigDecimal calcAvgDeliveryTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    // 统计送检时长分布
    Map<String, Integer> countDeliveryTimeDistribution(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    // 计算检测结果异常率（异常数/总数）
    BigDecimal calcAbnormalRate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    // 统计异常项目分布
    Map<String, Integer> countAbnormalItemDistribution(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
}